package com.prolestar.publicsentiment.service;


import com.prolestar.common.core.domain.AjaxResult;
import com.prolestar.publicsentiment.domain.ApportionPubilcsentiment;
import com.prolestar.publicsentiment.domain.PsDealLog;
import com.prolestar.publicsentiment.domain.PsPublicsentiment;
import com.prolestar.publicsentiment.domain.StrategyByInvolved;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.util.List;

/**
 * 舆情处置Service接口
 * 
 * @author ruoyi
 * @date 2022-11-11
 */
public interface IPsPublicsentimentService 
{
    /**
     * 查询舆情处置
     * 
     * @param id 舆情处置主键
     * @return 舆情处置
     */
    public PsPublicsentiment selectPsPublicsentimentById(Long id);

    /**
     * 查询舆情处置列表
     * 
     * @param psPublicsentiment 舆情处置
     * @return 舆情处置集合
     */
    public List<PsPublicsentiment> selectPsPublicsentimentList(PsPublicsentiment psPublicsentiment);

    /**
     * 新增舆情处置
     * 
     * @param psPublicsentiment 舆情处置
     * @return 结果
     */
    public int insertPsPublicsentiment(PsPublicsentiment psPublicsentiment);

    /**
     * 修改舆情处置
     * 
     * @param psPublicsentiment 舆情处置
     * @return 结果
     */
    public int updatePsPublicsentiment(PsPublicsentiment psPublicsentiment);

    /**
     * 批量删除舆情处置
     * 
     * @param ids 需要删除的舆情处置主键集合
     * @return 结果
     */
    public AjaxResult deletePsPublicsentimentByIds(Long[] ids);

    /**
     * 删除舆情处置信息
     * 
     * @param id 舆情处置主键
     * @return 结果
     */
    public int deletePsPublicsentimentById(Long id);


    AjaxResult apportion(ApportionPubilcsentiment apportionPubilcsentiment);

    List<PsPublicsentiment> selectAll();

    AjaxResult dispose(ApportionPubilcsentiment apportionPubilcsentiment);

    AjaxResult sign(ApportionPubilcsentiment apportionPubilcsentiment);

    AjaxResult read(ApportionPubilcsentiment apportionPubilcsentiment);

    AjaxResult sendBack(ApportionPubilcsentiment apportionPubilcsentiment);

    AjaxResult specialFocus(PsPublicsentiment psPublicsentiment);

    List<StrategyByInvolved> StrategyByInvolved(StrategyByInvolved strategyByInvolved);

    List<ApportionPubilcsentiment> taskList(ApportionPubilcsentiment apportionPubilcsentiment);

    List<PsDealLog> selectOperation(PsDealLog psDealLog);

    public PsPublicsentiment selectPSById(PsPublicsentiment psPublicsentiment);

    AjaxResult toLead(MultipartFile file, boolean updateSupport) throws IOException;
}
